Memory built-in self-test (“MBIST”) refers to the self-testing of a memory within an integrated circuit chip. With MBIST, it can be determined if the tested memory includes any failing data bits. Specifically, the MBIST generates a bit fail map report, which indicates the failing data bits during a certain diagnostics test of the memory. Previously, in order to properly test the memory, additional information associated with the failing data bit had to be stored alongside the memory itself. For example, the MBIST hardware included registers for storing the failing algorithm, target, address, and data bits per engine, respectively. In addition, the MBIST hardware also included pipeline stages to retain all of the above information (i.e., failing algorithm, target, address, and data bits per engine) in order to sync failure indication information with other information determined during the diagnostics. All of this additional hardware required significant area in the chip die. For many chip designers, the area taken up by this additional MBIST hardware reduced the amount of actual functionality they were able to put on the chip die. Further, in order to generate the bit fail map report, previous systems required software analysis to be performed after every cycle, i.e., cycle-by-cycle analysis. As such, for diagnostics involving a large amount of stored information (i.e., failing algorithm, target, address, and data bits per engine), there was an associated huge run-time cost as well.
Accordingly, there is a need for an MBIST diagnostics system utilizing less memory and, therefore, less area in the chip die.